b<HTML>

<HEAD>
  <TITLE>SimGear News</TITLE>
  <LINK REV="MADE" HREF="mailto:curt@flightgear.org">
  <LINK REL="StyleSheet" TYPE="text/css" HREF="simgear.css">
</HEAD>


<BODY>

<H2>SimGear News and Updates</H2>

<HR>

<UL>
  <LI> <B>May 14, 2007: Version 0.3.11-pre1</B>
    <UL>
      <LI> Generation of runway, taxiway and other signs at runtime. The sign
           description syntax was later adopted for the airport database shared
           by FlightGear and X-Plane
      <LI> More stringent header dependencies
      <LI> Fixed initial texture path problems
      <LI> Waypoint position argument added to route insertion method
      <LI> Major Nasal update with several bugfixes and a new function "sort".
      <LI> Improved dynamic sun colors
      <LI> Update to World Magnetic Model 2005
      <LI> Added method to return number of listeners attached to a property
           node.
      <LI> Misc updates to improve compiler/platform compatability
      <LI> Fixed a bug where deleted property nodes were falsely referenced.
      <LI> Added texture cache so that common textures are shared among models
           and don't consume separate texture memory.
    </UL>
</UL>


<UL>
  <LI> <B>April 5, 2006: Version 0.3.10</B>
    <UL>
      <LI> Add a small accessor function to expose local timezone offset.
      <LI> Improved exception handling and made output more helpful in various places.
      <LI> Better pbuffer runtime detection.
      <LI> Add directory creation capability to file/path library.
      <LI> Added a basic reference counting class to improve robustness of
  memory management in places.  Use this for all scenegraph
  references, sgmaterial references, sgmatmodel references, and
  sgsoundsample references.
      <LI> Add support for point sprites.
      <LI> Updates to rain cone rendering.
      <LI> Add a new vector library and integrate that with improved coordinate
  system conversion code.
      <LI> Mutex locking and cleanup improvements in the threading abstraction
  library.
      <LI> Add MacOS RenderTexture support.
      <LI> Add a Nasal based io libarary that is not activated by default.
      <LI> Added a set of MS-VC8 project files.

      <LI> Various platform related bug fixes.
      <LI> Various compiler related bug/warning fixes.
      <LI> Clean up some things that triggered valgrind warnings.
      <LI> Fix a Nasal cmp() bug.
      <LI> Removed ancient version of zlib from distribution.
    </UL>
</UL>

<HR>


<UL>
   <LI> <B>November 17, 2005: Version 0.3.9</B>
    <UL>
      <LI> Add support for OpenAL 1.1 (with a separate alut library.)
      <LI> Add support for volumetric shadows.  Aircraft can cast shadows on themselves
  as well as onto the ground (by Harald Johnsen.)
      <LI> New 3d volumetric clouds by Harald Johnsen (along with several rounds of
  followup fixes and improvements.)
      <LI> Remove Mark Harris's old 3d clouds because they were never properly
  integrated.  And we now have new 3d clouds.
      <LI> Add support for seasonal textures (with a set of winter textures added
  to FlightGear.)
      <LI> Updated Nasal scripting system.  Adds several new syntax convenience
  features, fixes parser bugs, fixes several internal bugs.
      <LI> Our 3d cockpit jitter problem is fixed (woohoo!)
      <LI> Add code to support rendering to a texture.
      <LI> Allow "tip" popups to pop themselves down after the appropriate
  timeout, even if the sim time is paused.
      <LI> Various low model level animation fixes and additions ... color,
  transparency, 'chrome' effects, randomized spin, etc.
      <LI> Create our own portable stdint.h implementation.
      <LI> Fixed several memory leaks.
      <LI> removeChildren() added to the property system.
      <LI> Fix many cases of 'const'.
      <LI> Fixes for cygwin, solaris/sun, Mac OS X, MSVC, gcc-3.4.x.
    </UL>
</UL>

<HR>


<UL>
  <LI> <STRONG>January 18, 2005: Version 0.3.8.</STRONG>
    <UL>
      <LI> Configure script does a sanity check for the existence of openal.
      <LI> Better pthreads detection for FreeBSD.
      <LI> Abstract out the location of gl.h, glu.h, and glut.h so we can more
           easily support MacOS which puts these in an oddball location.
      <LI> Added two new debug output types for instrumentation and systems.
      <LI> Add a name parameter to the waypoint class for supporting a route
           manager in the flightgear gps module.
      <LI> Make display list usage optional.
      <LI> Event manager: specifying a zero delay will force event execution in
           the next frame rather than entering an infinite loop.
      <LI> gcc-4.0 fix.
      <LI> Fixes to property tree loading and saving.
      <LI> Make volume inaudible at startup.
      <LI> Solaris fixes.
      <LI> For low density cloud coverage, blend the layer to nothing as we
           pass through instead of fully engulfing the aircraft in the cloud.
      <LI> Add several new capabilities to the texture management code for
           building normal maps and doing some simple on-the-fly effects on
           textures.
      <LI> Better error message for sound problems.
      <LI> Add support for binding a thread to a specific CPU.
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>October 12, 2004: Version 0.3.7.</STRONG>
    <UL>
      <LI> Add support for parsing xml from an in memory buffer, not
           just a file. 
      <LI> Don't reduce visibility for a "clear" cloud layer.
      <LI> Add support for audio orientation (direction and cone) for internal
           view and tower view.
      <LI> Add support for drawing from display lists rather than in
           immediate mode.  This provides a big performance
           improvement on many systems. 
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>July 29, 2004: Version 0.3.6.</STRONG>
    <UL>
      <LI> Better MinGW support
      <LI> A bit better handling of OpenAL under Cygwin
      <LI> Switched audio system from plib's "sl/sm" to OpenAL.
      <LI> Add support for scaling an object based on distance.  The
           scaling factor is determined by a lookup table based on distance.
      <LI> Add a "flash" animation type.
      <LI> Fix cloud positioning/animation bugs.
      <LI> Fix an off-by-one error in props_io.cxx
      <LI> Clip audio gain (volume) to 1.0
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>March 26, 2004: Version 0.3.5 released.</STRONG>
    <UL>
      <LI> Added Andy's nasal interpreter for small built in scripting
           tasks.  Nasal integrates nicely with FlightGear's property system.
      <LI> Added new (much simpler) metar parsing code (removed older
           more complex code.)
      <LI> Support VASI/PAPI lights correctly.
      <LI> Fixes to cloud animation.
      <LI> Updates to sky dome coloring as well as sun/moon coloring.
      <LI> Vary environment lighting with visibility (subtlety.)
      <LI> Support control of alpha test in model animation.
      <LI> Complete rewrite of the event manager.
      <LI> Updates to low level socket code to make it more flexible.
      <LI> Win32 serial port communication fixes.
      <LI> sg_geodesy rewritten to be more accurate and robust and symmetric.
    </UL>
</UL>


<HR>

<UL>
  <LI> <STRONG>October 22, 2003: Version 0.3.4 released.</STRONG>
    <UL>
      <LI> Removed Metakit, FlightGear no longer uses it.
      <LI> Removed all glut dependencies from SimGear.
      <LI> Moved FGEventMgr and FGSubsystemMgr over to SimGear.
      <LI> Some more incremental work on 3D clouds.
      <LI> Added some "fastmath" functions.
      <LI> Some lighting tweaks and fixes (especially for taxiways.)
      <LI> Added support for "blend" and "scale" and "texture" animations.
      <LI> Added support for animating rotations around an arbitrary
           axis (so the aircraft designer isn't forced to figure out
           animations as a combination of rotations around X, Y, and X
           axes.
      <LI> Updates to sky dome modeling and make cloud layers follow
           the curve of the earth (sort of.)
      <LI> Updates to sky dome, cloud, and sunrise/sunset color and
           lighting effects to make them more realistic and lifelike.
      <LI> Better support for detecting and using OpenGL extensions at
           run time.
      <LI> Add support for win32-pthreads in MSVC.NET
      <LI> Various MSVC fixes.
      <LI> Various Solaris fixes.
      <LI> Various cygwin/mingwin fixes.
      <LI> Various Mac OS X fixes.
      <LI> Various Irix fixes.
    </UL>
</UL>

<HR>


<UL>
  <LI> <STRONG>June 3, 2003: Version 0.3.3 released.</STRONG>
    <UL>
      <LI> Fix a compile problem for cygwin.
      <LI> Updated/tweaked doxygen documentation in several areas.
    </UL>
</UL>

<HR>


<UL>
  <LI> <STRONG>June 2, 2003: Version 0.3.2 released.</STRONG>
    <UL>
      <LI> Moved quite a bit of low level model management and "state"
           management code from FlightGear into SimGear and did a
           substantial amount of restructuring and dependency clean up
           in the process.  Created a "scene" subdirectory with
           sub-subdirectories for material management, basic model and
           model animation management, sky rendering, and low level
           loaders for the "TerraGear" tile object format.
      <LI> Removed support of the flat shaded and non-textured
           material property variants.  You can still do these things,
           but extra states are no longer set up automatically.
      <LI> Removed 3d clouds from the default build ... these need a
           maintainer or better yet, a complete plib-based rewrite.
      <LI> Moved the FlightGear sound effect manager code over to SimGear.
      <LI> Updated the cloud layer surface to better follow the
           inverted bowl shape.
      <LI> Much work on cloud/sky coloring, and also much work on
           sunset/sunrise coloring.
      <LI> Fixed an obscure bug in cloud texture loading which caused each
           cloud texture to be loaded 5 times.  Ouch!
      <LI> Various class and function renaming to make them better fit into the
           standard SimGear naming scheme.
      <LI> Added some additional convenience functions to the SGPath class.
      <LI> Upgraded the distributed version of metakit.
      <LI> FreeBSD fixes.
      <LI> Irix fixes (better STL/ISO C++ header support.)
      <LI> Mingwin fixes.
      <LI> Better MacOS support
      <LI> MSVC fixes.
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>December 4, 2002: Version 0.3.1 released.</STRONG>
    <UL>
      <LI> Fix a major packaging blunder with several missing files.
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>December 3, 2002: Version 0.3.0 released.</STRONG>
    <UL>
      <LI> Removed interpreter subdirectory.
      <LI> NOMINAX fix for Cygwin/gcc-3.2
      <LI> Added some prototype 3d clouds based on Mark Harris's demos.
      <LI> Simplified the command manager interface
      <LI> Allow an "include" attribute on root PropertyList element.
    </UL>
</UL>


<HR>

<UL>
  <LI> <STRONG>September 6, 2002:  Version 0.2.0 released.</STRONG>
    <UL>
      <LI> Modernized the autoconf/make scripts.
      <LI> Removed efence support (in favor of valgrind.)
      <LI> Added a javascript interpreter.
      <LI> SGSocket reimplemented on top of plib/net libs.
      <LI> Added a new random number generation algorithm.
      <LI> Total rewrite of the strutils package.
      <P>
      <LI> Patch for the random number seed.
      <LI> IA-64 w/ Intel compiler fixes.
      <LI> MSVC/MINGW fixes.
      <LI> Mac OS X fixes.
      <LI> Irix fixes.
      <LI> Code clean ups to remove warning messages.
      <LI> Optimizations in sg_binobj to reduce the amount of memory copying
           needed when loading a binobj format file.
      <LI> Fixed a couple places where variables could be used before they were
           initialized.
      <LI> Various property manager fixes and improvements.
      <LI> Fixes to cloud layer management code.
      <LI> Made the sky dome more flexible to facilitate use in other
           applications. 
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>April 20, 2002:  Version 0.0.18 released.</STRONG>
    <UL>
      <LI> Created a src/libs subdirectory for several packages that need to be
           installed by the user but are used by many other packages
           and may already be installed.  So we just bundle the source
           separately as a convenience if the user needs to build and
           install these. 
      <LI> Upgrade to zlib-1.1.4 (security fix)
      <LI> Upgrade to metakit-2.4.2-32.tar.gz (latest upstream release)
      <LI> Added support for point objects in the scenery file format.
      <LI> Additions to the binary file format to make it <B>much</B> more
           flexible.  For each major primitive type: points,
           triangles, fans, and strips, you   can specify an index
           list of vertices, normals, colors, and texture
           coordinates.  You can skip any of these you like to save on
           space.
      <LI> Added support for new file features in the binary -> ascii
           scenery file decoder.
      <LI> Various code clean ups.
      <LI> Separate XML I/O operations into a separate header file.
      <LI> Major property manager rewrite, then lots of followup
           cleaning and improvements. 
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>February 16, 2002:  Version 0.0.17 (final) released.</STRONG>
    <UL>
      <LI> Explicitely reset the glBlendFunc() after drawing the moon
           for the Voodoo2 linux driver since it seems to have a bug
           in glPopAttrib().
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>February 13, 2002:  Version 0.0.17pre2 released.</STRONG>
    <UL>
      <LI> Replaced some cout's with SG_LOG's
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>February 12, 2002:  Version 0.0.17pre1 released.</STRONG>
    <UL>
      <LI> Removed metakit and zlib from build process.  Tarballs are
      still included for those who's systems don't provide these packages.
      <LI> MSVC fixes.
      <LI> IRIX fixes.
      <LI> Mingwin fixes.
      <LI> Mac OS X fixes.
      <LI> FreeBSD fixes.
      <LI> Added support for Intel's C++ compiler under Linux.
      <LI> Attempt to build in support for various non-compatible
      automake/autoconf versions.
      <LI> Fix for a problem that could lead to a bogus build for
      people with voodoo cards.
      <LI> Added Norman's jpegfactory code which can create jpeg
      format screen shots of a live running application.
      <LI> implemented set/get_log_classes and set/get_log_priority.
      <LI> Socket library improvements.
      <LI> Added a C++ exception abstraction.
      <LI> Property manager fixes and improvements including node path
      caching and debug tracing of property reads/writes.
      <LI> Updates/fixes to xml handling.
    </UL>
</UL>

<HR>

<UL>
  <LI> <STRONG>July 12, 2001:  Version 0.0.16 released.</STRONG>
    <UL>
      <LI> Various changes to the property manager implementation to
           better support dumping out the desired portions of the
	   property tree to file.
      <LI> Don't compile the metakit demos by default (causes problems
           for Irix)' 
      <LI> Other various tweaks for Irix.
      <LI> Added a virtual destructor to XMLVisitor to fix a warning message.
      <LI> Check for valid hostname lookup in sg_socket.cxx
      <LI> Add a function to return modified julian date without
           creating an entire SGTime class.  This avoids an extraneous
	   warning about not being able to find a timezone.
      <LI> Created a mailing list for cvs commit messages.
      <LI> Fixed a potential array under/over run bug in interpolator.cxx
      <LI> Removed all references to SGValue from the property
           manager.  Added support for an "archive" bit in the
	   property manager to control which values get written out.
      <LI> Added SGCommandState class so that commands can compile and
           save copies of their arguments for efficiency if they are
	   called multiple times.
      <LI> Added Brian Baul's "tr" tiled rendering low level support
           library.  This along with some higher level code in
	   flightgear allows us to do ultra-hires tiled screen dumps
	   suitable for large format printers.  (Norman Vine)
    </UL>
</UL>

<UL>
  <LI> <STRONG>June 20, 2001:  Version 0.0.15 released.</STRONG>
    <UL>
      <LI> Various bug fixes, tweaks, and optimizations.
      <LI> Added a command manager (analogous to the property manager)
      <LI> Better Irix Mips support.
      <LI> Various gcc-3.0 fixes.
      <LI> Various MSVC fixes.
      <LI> Added MSVC project files (automatically generated from the
           unix automake configuration files.)
      <LI> Removed total size limitation on interpolation table module.
      <LI> Various Cygwin fixes.
      <LI> Added some convenience functions to point3d.
      <LI> Various compiler warning fixes.
      <LI> Added a thread wrapper class (currently only supports pthreads)
      <LI> Added IO routines for a lowlevel, native simgear binary 3d
           file format optimized for TerraGear terrain.
      <LI> Better endianness checking and support for the binary file
           read/write routines.
      <LI> Added doxygen comments for all public interface code.
           Documentation can be accessed via the SimGear web page.
      <LI> Many FG -> SG name space changes for better consistency
           throughout this package.
      <LI> Added property aliases, repeated name tags, and a general
           xml inclusion facilities.  Many other property manager
           clean ups following a complete rewrite.
      <LI> Fixed some critical null pointer bugs in property manager.
      <LI> Magnetic variation can now be fetched for any arbitrary location.
    </UL>
</UL>
 
<UL>
  <LI> <STRONG>December 14, 2000:  Version 0.0.14 released.</STRONG>
    <UL>
      <LI> Added a module to manage waypoints and routes, calculate bearing and
           distance to next waypoint, lateral distance off route, etc.
      <LI> Moved some of the basic time management code over from flightgear.
      <LI> Bucket dimensions can be returned in meters
      <LI> Added SOCK_STREAM (TCP) socket support to the networking code.
      <LI> Updated random number generator interface so application can provide
           it's own seed value as well as use the default time seed.
      <LI> Added a routine to calculate the distance between a point and a
           line segment. 
      <LI> Updates to the property manager and the property list loader/saver.
      <LI> Added an explanation of the rational behind our terrain texture
           coordinate generation code.
      <LI> Fixed sky dome so that the color at the horizon will always match
           the specified fog color.
      <LI> Did a fair amount of fg -> sg name space updating (lots left to do.)
      <LI> December 14, 2000
      <LI> Added support for KAI C++ on linux.
      <LI> MSVC tweaks.
      <LI> MacOS tweaks.
      <LI> FreeBSD tweaks.
    </UL>
</UL>

<UL>
  <LI> <STRONG>July 19, 2000:  Version 0.0.12 released.</STRONG>
    <UL>
      <LI> Converted project license from GPL to LGPL.
      <LI> Moved low level IO (socket, file, serial) code over to SimGear.
      <LI> Moved ephemeral code into simgear
      <LI> Moved basic world time code into simgear
      <LI> Added a property manager (registry)
      <LI> Some documentation added.
    </UL>
</UL>

<UL>
  <LI> <STRONG>July 3, 2000:  Version 0.0.11 released.</STRONG>
       <P>
    <UL>
      <LI> Replaced gdbm with metakit
      <LI> Added drop in sky (depends on plib)
      <LI> Added spherical course and dist given two points calculations
      <LI> MSVC5 fixes
      <LI> Math/bucket/tiling tweaks from Norman Vine
    </UL>
</UL>

<UL>
  <LI> <STRONG>March 29, 2000:  Version 0.0.7 released.</STRONG>
       <P>
    <UL>
      <LI> Added support for RedHat package building contributed by Habibie 
           <HABIBIE@MAILANDNEWS.COM>
      <LI> Added gdbm to SimGear.  Many systems will already have gdbm
           installed so it is only built if it doesn't already exist
	   on the user's platform.  gdbm is a set of database routines
	   that use extendible hashing and works  similar to the
	   standard UNIX dbm routines.  This guarantees the
	   availability  of gdbm to any application that uses
	   SimGear.
      <LI> Optimizations and bullet proofing of magnetic variation
           code by Norman Vine and Ed Williams
    </UL>
</UL>

<UL>
  <LI> <STRONG>March 27, 2000:  Version 0.0.6 released.</STRONG>
       <P>
    <UL>
      <LI> Added Nima World Magnetic Model 2000 contributed by Ed Williams
      <LI> Fixes for MSVC++
    </UL>
</UL>

<UL>
  <LI> <STRONG>March 17, 2000:  Version 0.0.5 released.</STRONG>
       <P>
    <UL>
      <LI> Restructured directory layout to facilitate windows/mac IDE
           builds. 
    </UL>
</UL>

<UL>
  <LI> <STRONG>Version 0.0.4</STRONG>
       <P>
    <UL>
      <LI> Removed mat3.h and friends (we now use plib's sg lib for
           these sorts of things.)
    </UL>
</UL>

<UL>
  <LI> <STRONG>Version 0.0.3</STRONG>
       <P>
    <UL>
      <LI> Release that coincides with FlightGear-0.7.2
    </UL>
</UL>


<!-- Standard Footer Begin -->

<HR>

<ADDRESS>
Last modified:  5/14/2007 <BR>
<A HREF="http://www.menet.umn.edu/~curt/">Curtis L. Olson</A> <BR>
<IMG SRC="http://www.flightgear.org/email-fg.png">
</ADDRESS>

<!-- Standard Footer End -->

</BODY>
</HTML>
